package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 破损单DTO
 * </p>
 *
 * @author LEO
 * @since 2020-08-20
 */
@Data
@ApiModel(value="DamagedDTO对象", description="破损单")
public class DamagedDTO extends BasicEntity {


    @ApiModelProperty(value = "破损单号")
    private String code;

    @ApiModelProperty(value = "仓库")
    private String warehouseCode;
    @ApiModelProperty(value = "货主名称")
    private String shipmentName;

    @ApiModelProperty(value = "入驻商")
    private String shipmentCode;
    @ApiModelProperty(value = "所属机构Code")
    private String groupCode;
    @ApiModelProperty(value = "登录仓库授权该账号的货主集合")
    private List<String> shipmentCodes;

    @ApiModelProperty(value = "总数量")
    private BigDecimal totalQuantity;

    @ApiModelProperty(value = "总数量上限")
    private BigDecimal totalQuantityCeiling;

    @ApiModelProperty(value = "总数量下限")
    private BigDecimal totalQuantityFloor;

    @ApiModelProperty(value = "总数量上限")
    private BigDecimal totalUnitQuantityCeiling;

    @ApiModelProperty(value = "总数量下限")
    private BigDecimal totalUnitQuantityFloor;

    @ApiModelProperty(value = "实际报损数量")
    private BigDecimal totalActualQuantity;

    @ApiModelProperty(value = "实际报损数量上限")
    private BigDecimal totalActualQuantityCeiling;

    @ApiModelProperty(value = "实际报损数量下限")
    private BigDecimal totalActualQuantityFloor;

    @ApiModelProperty(value = "实际报损数量上限")
    private BigDecimal totalActualUnitQuantityCeiling;

    @ApiModelProperty(value = "实际报损数量下限")
    private BigDecimal totalActualUnitQuantityFloor;

    @ApiModelProperty(value = "审批人")
    private String approvedBy;

    @ApiModelProperty(value = "审批时间")
    private LocalDateTime gmtApproved;

    @ApiModelProperty(value = "状态")
    private String status;
    @ApiModelProperty(value = "类型")
    private String type;
    @ApiModelProperty(value = "审核意见")
    private String auditMind;
    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "审批时间start")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtApprovedStart;

    @ApiModelProperty(value = "审批时间end")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtApprovedEnd;

    @ApiModelProperty(value = "审批人名称")
    private String approvedName;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "授权该账号的仓库集合")
    private List<String> warehouseCodes;
}
